package com.campus.secondhand.model.dto;

import java.math.BigDecimal;
import java.util.List;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;

import lombok.Data;

/**
 * 商品创建DTO
 */
@Data
public class ProductCreateDTO {

    /**
     * 商品名称
     */
    @NotBlank(message = "商品名称不能为空")
    @Size(max = 100, message = "商品名称最多100个字符")
    private String name;

    /**
     * 商品价格
     */
    @NotNull(message = "商品价格不能为空")
    private BigDecimal price;

    /**
     * 商品原价
     */
    private BigDecimal originalPrice;

    /**
     * 商品描述
     */
    @Size(max = 2000, message = "商品描述最多2000个字符")
    private String description;

    /**
     * 商品成色：全新、几乎全新、轻微使用痕迹、明显使用痕迹、重度使用痕迹
     */
    @NotBlank(message = "商品成色不能为空")
    private String condition;

    /**
     * 分类ID
     */
    @NotNull(message = "分类ID不能为空")
    private Long categoryId;

    /**
     * 位置描述
     */
    private String locationDescription;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 纬度
     */
    private Double latitude;

    /**
     * 图片URL列表
     */
    @Size(min = 1, max = 9, message = "图片数量应在1-9张之间")
    private List<String> imageUrls;
}